import request from '@/utils/request'

/**
 * 获取科目下拉列表
 * @returns {Promise} 请求结果
 */
export function getSubjectList() {
  return request({
    url: '/operation/web/energyConsumptionAnalysis/subjectList',
    method: 'get'
  })
}

/**
 * 获取总能耗统计
 * @returns {Promise} 请求结果
 */
export function getTotalEnergyConsumption() {
  return request({
    url: '/operation/web/energyConsumptionAnalysis/totalEnergyConsumption',
    method: 'get'
  })
}

// /**
//  * 获取能耗趋势分析数据
//  * @param {Object} params 查询参数
//  * @param {number} [params.timeDimension] 时间维度 1-日 2-月 3-年
//  * @returns {Promise} 请求结果
//  */
// export function getEnergyTrend(params) {
//   return request({
//     url: '/operation/web/energyConsumptionAnalysis/energyTrend',
//     method: 'get',
//     params
//   })
// }

/**
 * 获取能耗明细数据
 * @returns {Promise} 请求结果
 */
export function getEnergyDetails() {
  return request({
    url: '/operation/web/energyConsumptionAnalysis/EnergyDetailVos',
    method: 'get'
  })
}


// 以下为新增接口

/**
 * 获取计量点列表（按能耗类型）
 * @param {string} energyType 能耗类型（电耗/水耗）
 * @returns {Promise} 请求结果
 */
export function getMeterPoints(energyType) {
  return request({
    url: '/operation/api/operation/energy/meter-points',
    method: 'get',
    params: { energyType }
  })
}



/**
 * 获取能耗详情数据
 * @param {Object} params 查询参数
 * @param {string} params.energyType 能耗类型
 * @param {string} params.meterPointId 计量点ID
 * @param {string} params.startDate 开始日期
 * @param {string} params.endDate 结束日期
 * @returns {Promise} 请求结果
 */
export function getEnergyDetail(params) {
  return request({
    url: '/operation/api/operation/energy/consumption',
    method: 'get',
    params
  })
}

/**
 * 更新能耗单价
 * @param {Object} data 请求体
 * @param {string} data.energyId 能耗ID
 * @param {number} data.newPrice 新单价
 * @returns {Promise} 请求结果
 */
export function updateEnergyPrice(data) {
  return request({
    url: '/operation/api/operation/energy/price',
    method: 'put',
    data
  })
}

/**
 * 获取能耗趋势图数据
 * @param {Object} params 查询参数
 * @param {string} params.meterPointId 计量点ID
 * @param {string} params.timeType 时间类型（day/week/month）
 * @param {string} params.startDate 开始日期
 * @param {string} params.endDate 结束日期
 * @returns {Promise} 请求结果
 */
export function getEnergyTrend(params) {
  return request({
    url: '/operation/api/operation/energy/trend',
    method: 'get',
    params
  })
}